本报告探讨了红酒的质量和其各种化学性质的关系,并探索是什么带来了更高质量的红酒。报告所用的数据集由由 Paulo Cortez 等人创建,该数据集包含 13 个变量的 1599 个观察值。⾄少 3 名葡萄酒专家对每种酒的质量进⾏了评分,分数在 0(⾮常差)和 10(⾮常好)之间,最小等级差为1。了解更多数据集信息
除了以百分比测量酒精成分外,测量化学成分的所有其他变量都以体积计。(mg/dm3 或 g/dm3)
## [1] 1599 13
## 'data.frame': 1599 obs. of 13 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ fixed.acidity : num 7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
## $ volatile.acidity : num 0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
## $ citric.acid : num 0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
## $ residual.sugar : num 1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
## $ chlorides : num 0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
## $ free.sulfur.dioxide : num 11 25 15 17 11 13 15 15 9 17 ...
## $ total.sulfur.dioxide: num 34 67 54 60 34 40 59 21 18 102 ...
## $ density : num 0.998 0.997 0.997 0.998 0.998 ...
## $ pH : num 3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
## $ sulphates : num 0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
## $ alcohol : num 9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
## $ quality : int 5 5 5 6 5 5 5 7 7 5 ...
## X fixed.acidity volatile.acidity citric.acid
## Min. : 1.0 Min. : 4.60 Min. :0.1200 Min. :0.000
## 1st Qu.: 400.5 1st Qu.: 7.10 1st Qu.:0.3900 1st Qu.:0.090
## Median : 800.0 Median : 7.90 Median :0.5200 Median :0.260
## Mean : 800.0 Mean : 8.32 Mean :0.5278 Mean :0.271
## 3rd Qu.:1199.5 3rd Qu.: 9.20 3rd Qu.:0.6400 3rd Qu.:0.420
## Max. :1599.0 Max. :15.90 Max. :1.5800 Max. :1.000
## residual.sugar chlorides free.sulfur.dioxide
## Min. : 0.900 Min. :0.01200 Min. : 1.00
## 1st Qu.: 1.900 1st Qu.:0.07000 1st Qu.: 7.00
## Median : 2.200 Median :0.07900 Median :14.00
## Mean : 2.539 Mean :0.08747 Mean :15.87
## 3rd Qu.: 2.600 3rd Qu.:0.09000 3rd Qu.:21.00
## Max. :15.500 Max. :0.61100 Max. :72.00
## total.sulfur.dioxide density pH sulphates
## Min. : 6.00 Min. :0.9901 Min. :2.740 Min. :0.3300
## 1st Qu.: 22.00 1st Qu.:0.9956 1st Qu.:3.210 1st Qu.:0.5500
## Median : 38.00 Median :0.9968 Median :3.310 Median :0.6200
## Mean : 46.47 Mean :0.9967 Mean :3.311 Mean :0.6581
## 3rd Qu.: 62.00 3rd Qu.:0.9978 3rd Qu.:3.400 3rd Qu.:0.7300
## Max. :289.00 Max. :1.0037 Max. :4.010 Max. :2.0000
## alcohol quality
## Min. : 8.40 Min. :3.000
## 1st Qu.: 9.50 1st Qu.:5.000
## Median :10.20 Median :6.000
## Mean :10.42 Mean :5.636
## 3rd Qu.:11.10 3rd Qu.:6.000
## Max. :14.90 Max. :8.000
初步观察:
数据集由 13 个变量组成,共 1599 个观测值
其中 X 为唯一标识符
根据背景资料得知,quality 是对应红酒质量的变量。数据集中的红酒质量等级的范围是 3-8,中位数是 6。
有关红酒化学性质的变量为 11 个,它们分别是:fixed.acidity 固定酸度、volatile.acidity 挥发酸度、citric.acid 柠檬酸,residual.sugar 残糖量,chlorides 氯化物,free.sulfur.dioxide 游离二氧化硫、total.sufur.dioxide 总二氧化硫,density 密度,pH PH 值,sulphates 硫酸盐,alcohol 酒精。
对 12 个单变量进行绘图,快速了解数据分布,也有助于引导分析。
接下来依次分析单个变量
红酒质量是我们要探索的因变量,首先对它进行分析。可以观察到quality实际上是一个定序变量,
红酒质量的分布比较接近正态分布,这里有个问题,就是数据集种缺少 0,1,2,9,10 等级的红酒数据,这可能会给我们的分析带来影响。
大多数红酒质量处于 5 和 6 ,为了更好区分红酒的质量,创建一个新变量grade对质量进行等级划分,低(等级 0-4),中(等级 5-6),高(等级 7-10)。这在之后的分析中将会用到。
##
## low(0-4) medium(5-6) high(7-10)
## 63 1319 217
分级后,低、中、高质量等级的红酒数量依次是 63、1319、217。
在概览图中观察到固定酸度、挥发酸度、柠檬酸度都存在偏斜,对它们进行 log10 转换以更好观察数据分布。PH 的分布接近正态分布不用处理。
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.60 7.10 7.90 8.32 9.20 15.90
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.1200 0.3900 0.5200 0.5278 0.6400 1.5800
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 0.090 0.260 0.271 0.420 1.000
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2.740 3.210 3.310 3.311 3.400 4.010
根据数据集背景资料得知,残糖量就是在进行发酵后产生的糖。在数据集中,平均残糖量为 2.539 g/dm3 ,中位数为 2.2。残糖量的分布存在比较明显的长尾,进行 log10 变换后分布更好些。根据经验,红酒的甜味也能带来好的口感,但过分的甜味可能导致红酒的质量变差。
氯化物实际上是红酒中盐的成分,同样存在严重的长尾,根据观察可以有一个猜测,高氯化物含量意味着品质差的红酒。
总二氧化硫包括了游离的二氧化硫,因此将它们绘制在一起,并进行 log10 转换。
游离二氧化硫的中位数为 14mg/dm3,平均值为 15.87mg/dm3。根据经验,游离二氧化硫带给我们刺鼻的嗅觉反馈,所以可以预测二氧化硫含量高的红酒品质比较差。
总二氧化硫的平均值为 46.47mg/dm3,中位数为38mg/dm3。
硫酸盐也存在着一定的正偏斜,同样进行 log10 转换。
大多数葡萄酒含有 0.2-0.8g/dm3 的硫酸盐,中位数为 0.62g/dm3,平均量为0.6581g/dm3。硫酸盐能够帮助红酒储存更长的时间。
可以看到,密度的分布非常“好”,红酒的密度大部分取决于糖和酒精的含量。密度中位数为 0.9968g/dm3 ,平均值为 0.9978g/dm3。
酒精对于红酒来说应该是相当重要的一个组成部分,数据集中平均酒精含量为10.42%,中位数为10.2%。
数据集中包含 1599 种红酒的观察值,12 个变量。其中包括 1 个因变量(质量)和 11 个自变量。
初步认为红酒质量可能受 酒精、挥发性酸 的影响比较大。
氯化物和残留糖量或许也影响红葡萄酒的质量,因为它们能影响口感和味道。
是的,根据质量的等级分数,创建了一个新变量 grade,将质量分为 低(0-4)、中(5-6)、高(8-10)三个等级
存在一些偏斜分布和长尾分布,对数据进行了 log10 转换处理来初步探索,需要在之后进行更深入分析时才能判断什么样的处理是有效的。
绘制散点图矩阵来了解红酒中化学性质与质量,及各变量之间的关系
可以得知,和红酒质量最相关的 4 个因素是:
酒精和红酒质量相关性最大,绘制它们的散点图。
为了更好观察趋势,添加抖动和趋势线
将quality通过 factor 转换成分类变量(因为质量系数都是整数),这样更容易观察。并且转换为分类变量之后绘制箱线图可以体现出比散点图更加丰富的信息。
观察每个质量等级红酒的平均酒精含量,总体上也呈现线性趋势,最高质量的红酒有着最高的酒精含量
加入grade来观察分布
用同样的方法对其他几个变量进行分析
挥发酸度和红酒质量间负相关,高品质的红酒中挥发酸度很低。这一点符合我们的经验认知,挥发酸度能降低红酒的好口感。
分布的偏斜比较明显,对硫酸盐数据进行 log 变换
再计算相关系数
##
## Pearson's product-moment correlation
##
## data: log10(redwine$sulphates) and redwine$quality
## t = 12.967, df = 1597, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.2636092 0.3523323
## sample estimates:
## cor
## 0.3086419
可以看到,进行 log 变换后的硫酸盐,相关系数为 0.309,高于原始的 0.251;和红酒质量间存在较强的正相关。
当红酒质量上升时,其中的柠檬酸含量也有所增加,虽然幅度不是很大,但硫酸盐和红酒质量件仍存在轻微的正相关。
在酒精与质量的二维关系上,加入挥发酸度变量,并添加抖动
加入`grade`来对质量等级分区
高质量的红酒拥有更高的酒精和更低的挥发酸度。
更高质量的红酒具有较高的硫酸盐。
更高质量的红酒具有较高的柠檬酸,但相关性不是非常强。
酒精、硫酸盐、挥发酸度这三个变量影响下的红酒质量分布。
尝试建立一个多变量线性模型来预测红酒质量。
##
## Calls:
## m1: lm(formula = quality ~ alcohol, data = redwine)
## m2: lm(formula = quality ~ alcohol + volatile.acidity, data = redwine)
## m3: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates),
## data = redwine)
## m4: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) +
## citric.acid, data = redwine)
## m5: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) +
## citric.acid + pH, data = redwine)
## m6: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) +
## citric.acid + pH + chlorides, data = redwine)
## m7: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) +
## citric.acid + pH + chlorides + total.sulfur.dioxide, data = redwine)
##
## ==============================================================================================
## m1 m2 m3 m4 m5 m6 m7
## ----------------------------------------------------------------------------------------------
## (Intercept) -0.125 1.095 1.369 1.444 3.037 3.603 3.819
##
## alcohol 0.361 0.314 0.303 0.303 0.323 0.305 0.290
##
## volatile.acidity -1.384 -1.156 -1.217 -1.235 -1.109 -1.061
##
## log10(sulphates) 1.477 1.518 1.513 1.824 1.864
##
## citric.acid -0.113 -0.357 -0.272 -0.226
##
## pH -0.521 -0.596 -0.590
##
## chlorides -1.896 -1.968
##
## total.sulfur.dioxide -0.002
##
## ----------------------------------------------------------------------------------------------
## Deviance 0.000 0.000 0.000 0.000 0.000 0.000 0.000
## N 1599 1599 1599 1599 1599 1599 1599
## ==============================================================================================
该模型可以描述为:
redwine_quality = 5.819 + 0.29alcohol - 1.061volatile.acidity + 1.864log10(sulphates) - 0.226citric.acid - 0.59pH - 1.968cholorides-0.002*total.sulfur.dioxide
虽然 R-squared 只有 0.369,不是一个很准确的预测模型。主要的原因可能是数据集中数据有限,且采用评分的来衡量红酒质量也有很大的限制。
高质量的红酒确实是倾向于具有较高的酒精含量和较低的挥发酸度含量,同时,也倾向于具有较高的硫酸盐和较高的柠檬酸含量。
取grade中的两端等级来作图
从这张图就可以看出,挥发酸度、硫酸盐、柠檬酸和红酒质量的相关性在逐渐减弱,以至于无法直接定论柠檬酸成分的含量多少决定了红酒质量好坏。但也许是因为受到其他成分的影响柠檬酸的作用被覆盖了。这也许可以解释为什么预估线性模型的 R 值仅有 0.369。正是各种化学成分的特定组合带来了更好的红酒,而不仅仅是某几种成分就能决定。当然酒精和挥发酸度的影响不可忽视。
通过相关系数计算,得出酒精含量对红酒质量的影响最大
酒精和红酒质量正相关,高质量的红酒有着更高的酒精含量。
高质量的红酒倾向于具有较高的酒精含量和较低的挥发酸度含量,同时,也倾向于具有较高的硫酸盐和较高的柠檬酸含量。
双击右侧代表红酒质量分数的图例,可以点选观察各个质量等级的红酒在酒精、硫酸盐、挥发酸度这三个变量影响下的分布。
因变量(红酒质量)与自变量之间没有强相关性,每个质量水平有异常值可能影响分析。
用来分析的数据集缺少所有质量等级的数据且不平衡,有许多中等级的数据点(5、6),低等级(3、4)和高等级(7、8)的数据点数量都很少。如果数据集在低端和高端都有更多记录,则可以提高分析质量。我们可以更确定化学成分与葡萄酒质量之间是否存在显着的相关性。
红酒质量的品鉴可能偏于主观,用线性模型来预测过于简化了,比如味道和香气这样细微的差别不能通过化学性质来判断。好的红酒应该是各种化学成分和品牌等附加值的完美组合。
在总结部分,使用了 plotly 包来进行 3D 绘图展现 4 个变量间的关系,同时还提供了交互的可视化,在之后的数据分析中,应该会经常用到这个包。